package agentes;

  class Jeops_RuleBase_PrincipioFundamentalContagemDicasRegras extends jeops.AbstractRuleBase {
	
    /**
     * Identifiers of rule verificaPreenchimento
     */
    private String[] identifiers_verificaPreenchimento = {
        "mult"
    };

    /**
     * Returns the identifiers declared in rule verificaPreenchimento
     *
     * @return the identifiers declared in rule verificaPreenchimento
     */
    private String[] getDeclaredIdentifiers_verificaPreenchimento() {
         return identifiers_verificaPreenchimento;
    }

    /**
     * Returns the name of the class of one declared object for
     * rule verificaPreenchimento.
     *
     * @param index the index of the declaration
     * @return the name of the class of the declared objects for
     *          this rule.
     */
    private String getDeclaredClassName_verificaPreenchimento(int index) {
        switch (index) {
            case 0: return "agentes.PrincipioFundamentalContagemDicas";
            default: return null;
        }
    }

    /**
     * Returns the class of one declared object for rule verificaPreenchimento.
     *
     * @param index the index of the declaration
     * @return the class of the declared objects for this rule.
     */
    private Class getDeclaredClass_verificaPreenchimento(int index) {
        switch (index) {
            case 0: return agentes.PrincipioFundamentalContagemDicas.class;
            default: return null;
        }
    }

    /**
     * Sets an object declared in the rule verificaPreenchimento.
     *
     * @param index the index of the declared object
     * @param value the value of the object being set.
     */
    private void setObject_verificaPreenchimento(int index, Object value) {
        switch (index) {
            case 0: this.agentes_PrincipioFundamentalContagemDicas_1 = (agentes.PrincipioFundamentalContagemDicas) value; break;
        }
    }

    /**
     * Returns an object declared in the rule verificaPreenchimento.
     *
     * @param index the index of the declared object
     * @return the value of the corresponding object.
     */
    private Object getObject_verificaPreenchimento(int index) {
        switch (index) {
            case 0: return agentes_PrincipioFundamentalContagemDicas_1;
            default: return null;
        }
    }

    /**
     * Returns all variables bound to the declarations 
     * of rule verificaPreenchimento
     *
     * @return an object array of the variables bound to the
     *          declarations of this rule.
     */
    private Object[] getObjects_verificaPreenchimento() {
        return new Object[] {
                            agentes_PrincipioFundamentalContagemDicas_1
                            };
    }

    /**
     * Defines all variables bound to the declarations 
     * of rule verificaPreenchimento
     *
     * @param objects an object array of the variables bound to the
     *          declarations of this rule.
     */
    private void setObjects_verificaPreenchimento(Object[] objects) {
        agentes_PrincipioFundamentalContagemDicas_1 = (agentes.PrincipioFundamentalContagemDicas) objects[0];
    }

    /**
     * Condition 0 of rule verificaPreenchimento.<p>
     * The original expression was:<br>
     * <code>(mult.getOpcao(0).getText().isEmpty() || mult.getOpcao(1).getText().isEmpty())</code>
     *
     * @return <code>true</code> if the condition is satisfied;
     *          <code>false</code> otherwise.
     */
    private boolean verificaPreenchimento_cond_0() {
        return ((agentes_PrincipioFundamentalContagemDicas_1.getOpcao(0).getText().isEmpty() || agentes_PrincipioFundamentalContagemDicas_1.getOpcao(1).getText().isEmpty()));
    }

    /**
     * Checks whether some conditions of rule verificaPreenchimento is satisfied.
     *
     * @param index the index of the condition to be checked.
     * @return <code>true</code> if the condition is satisfied;
     *          <code>false</code> otherwise.
     */
    private boolean verificaPreenchimento_cond(int index) {
        switch (index) {
            case 0: return verificaPreenchimento_cond_0();
            default: return false;
        }
    }

    /**
     * Checks whether all conditions of rule verificaPreenchimento that depend only on
     * the given object are satisfied.
     *
     * @param declIndex the index of the declaration to be checked
     * @return <code>true</code> if all corresponding conditions for
     *          this rule are satisfied; <code>false</code> otherwise.
     */
    private boolean checkConditionsOnlyOf_verificaPreenchimento(int declIndex) {
        switch (declIndex) {
            case 0:
                if (!verificaPreenchimento_cond_0()) return false;
                return true;
            default: return false;
        }
    }

    /**
     * Checks whether all the conditions of a rule which
     * reference some declared element of the declarations are
     * true.
     *
     * @param declIndex the index of the declared element.
     * @return <code>true</code> if the conditions that reference
     *          up to the given declaration are true;
     *          <code>false</code> otherwise.
     */
    private boolean checkCondForDeclaration_verificaPreenchimento(int declIndex) {
        switch (declIndex) {
            case 0:
                return true;
            default: return false;
        }
    }

    /**
     * Executes the action part of the rule verificaPreenchimento
     */
    private void verificaPreenchimento() {
	    	agentes_PrincipioFundamentalContagemDicas_1.mostrarAlerta(6);
	    }


	
	
    /**
     * Identifiers of rule verificaPreenchimento2
     */
    private String[] identifiers_verificaPreenchimento2 = {
        "mult"
    };

    /**
     * Returns the identifiers declared in rule verificaPreenchimento2
     *
     * @return the identifiers declared in rule verificaPreenchimento2
     */
    private String[] getDeclaredIdentifiers_verificaPreenchimento2() {
         return identifiers_verificaPreenchimento2;
    }

    /**
     * Returns the name of the class of one declared object for
     * rule verificaPreenchimento2.
     *
     * @param index the index of the declaration
     * @return the name of the class of the declared objects for
     *          this rule.
     */
    private String getDeclaredClassName_verificaPreenchimento2(int index) {
        switch (index) {
            case 0: return "agentes.PrincipioFundamentalContagemDicas";
            default: return null;
        }
    }

    /**
     * Returns the class of one declared object for rule verificaPreenchimento2.
     *
     * @param index the index of the declaration
     * @return the class of the declared objects for this rule.
     */
    private Class getDeclaredClass_verificaPreenchimento2(int index) {
        switch (index) {
            case 0: return agentes.PrincipioFundamentalContagemDicas.class;
            default: return null;
        }
    }

    /**
     * Sets an object declared in the rule verificaPreenchimento2.
     *
     * @param index the index of the declared object
     * @param value the value of the object being set.
     */
    private void setObject_verificaPreenchimento2(int index, Object value) {
        switch (index) {
            case 0: this.agentes_PrincipioFundamentalContagemDicas_1 = (agentes.PrincipioFundamentalContagemDicas) value; break;
        }
    }

    /**
     * Returns an object declared in the rule verificaPreenchimento2.
     *
     * @param index the index of the declared object
     * @return the value of the corresponding object.
     */
    private Object getObject_verificaPreenchimento2(int index) {
        switch (index) {
            case 0: return agentes_PrincipioFundamentalContagemDicas_1;
            default: return null;
        }
    }

    /**
     * Returns all variables bound to the declarations 
     * of rule verificaPreenchimento2
     *
     * @return an object array of the variables bound to the
     *          declarations of this rule.
     */
    private Object[] getObjects_verificaPreenchimento2() {
        return new Object[] {
                            agentes_PrincipioFundamentalContagemDicas_1
                            };
    }

    /**
     * Defines all variables bound to the declarations 
     * of rule verificaPreenchimento2
     *
     * @param objects an object array of the variables bound to the
     *          declarations of this rule.
     */
    private void setObjects_verificaPreenchimento2(Object[] objects) {
        agentes_PrincipioFundamentalContagemDicas_1 = (agentes.PrincipioFundamentalContagemDicas) objects[0];
    }

    /**
     * Condition 0 of rule verificaPreenchimento2.<p>
     * The original expression was:<br>
     * <code>mult.getPanel(1).isVisible() == true && (mult.getOpcao(2).getText().isEmpty() || mult.getOpcao(3).getText().isEmpty())</code>
     *
     * @return <code>true</code> if the condition is satisfied;
     *          <code>false</code> otherwise.
     */
    private boolean verificaPreenchimento2_cond_0() {
        return (agentes_PrincipioFundamentalContagemDicas_1.getPanel(1).isVisible() == true && (agentes_PrincipioFundamentalContagemDicas_1.getOpcao(2).getText().isEmpty() || agentes_PrincipioFundamentalContagemDicas_1.getOpcao(3).getText().isEmpty()));
    }

    /**
     * Checks whether some conditions of rule verificaPreenchimento2 is satisfied.
     *
     * @param index the index of the condition to be checked.
     * @return <code>true</code> if the condition is satisfied;
     *          <code>false</code> otherwise.
     */
    private boolean verificaPreenchimento2_cond(int index) {
        switch (index) {
            case 0: return verificaPreenchimento2_cond_0();
            default: return false;
        }
    }

    /**
     * Checks whether all conditions of rule verificaPreenchimento2 that depend only on
     * the given object are satisfied.
     *
     * @param declIndex the index of the declaration to be checked
     * @return <code>true</code> if all corresponding conditions for
     *          this rule are satisfied; <code>false</code> otherwise.
     */
    private boolean checkConditionsOnlyOf_verificaPreenchimento2(int declIndex) {
        switch (declIndex) {
            case 0:
                if (!verificaPreenchimento2_cond_0()) return false;
                return true;
            default: return false;
        }
    }

    /**
     * Checks whether all the conditions of a rule which
     * reference some declared element of the declarations are
     * true.
     *
     * @param declIndex the index of the declared element.
     * @return <code>true</code> if the conditions that reference
     *          up to the given declaration are true;
     *          <code>false</code> otherwise.
     */
    private boolean checkCondForDeclaration_verificaPreenchimento2(int declIndex) {
        switch (declIndex) {
            case 0:
                return true;
            default: return false;
        }
    }

    /**
     * Executes the action part of the rule verificaPreenchimento2
     */
    private void verificaPreenchimento2() {
	    	agentes_PrincipioFundamentalContagemDicas_1.mostrarAlerta(6);
	    }


	
	
    /**
     * Identifiers of rule verificaPreenchimento3
     */
    private String[] identifiers_verificaPreenchimento3 = {
        "mult"
    };

    /**
     * Returns the identifiers declared in rule verificaPreenchimento3
     *
     * @return the identifiers declared in rule verificaPreenchimento3
     */
    private String[] getDeclaredIdentifiers_verificaPreenchimento3() {
         return identifiers_verificaPreenchimento3;
    }

    /**
     * Returns the name of the class of one declared object for
     * rule verificaPreenchimento3.
     *
     * @param index the index of the declaration
     * @return the name of the class of the declared objects for
     *          this rule.
     */
    private String getDeclaredClassName_verificaPreenchimento3(int index) {
        switch (index) {
            case 0: return "agentes.PrincipioFundamentalContagemDicas";
            default: return null;
        }
    }

    /**
     * Returns the class of one declared object for rule verificaPreenchimento3.
     *
     * @param index the index of the declaration
     * @return the class of the declared objects for this rule.
     */
    private Class getDeclaredClass_verificaPreenchimento3(int index) {
        switch (index) {
            case 0: return agentes.PrincipioFundamentalContagemDicas.class;
            default: return null;
        }
    }

    /**
     * Sets an object declared in the rule verificaPreenchimento3.
     *
     * @param index the index of the declared object
     * @param value the value of the object being set.
     */
    private void setObject_verificaPreenchimento3(int index, Object value) {
        switch (index) {
            case 0: this.agentes_PrincipioFundamentalContagemDicas_1 = (agentes.PrincipioFundamentalContagemDicas) value; break;
        }
    }

    /**
     * Returns an object declared in the rule verificaPreenchimento3.
     *
     * @param index the index of the declared object
     * @return the value of the corresponding object.
     */
    private Object getObject_verificaPreenchimento3(int index) {
        switch (index) {
            case 0: return agentes_PrincipioFundamentalContagemDicas_1;
            default: return null;
        }
    }

    /**
     * Returns all variables bound to the declarations 
     * of rule verificaPreenchimento3
     *
     * @return an object array of the variables bound to the
     *          declarations of this rule.
     */
    private Object[] getObjects_verificaPreenchimento3() {
        return new Object[] {
                            agentes_PrincipioFundamentalContagemDicas_1
                            };
    }

    /**
     * Defines all variables bound to the declarations 
     * of rule verificaPreenchimento3
     *
     * @param objects an object array of the variables bound to the
     *          declarations of this rule.
     */
    private void setObjects_verificaPreenchimento3(Object[] objects) {
        agentes_PrincipioFundamentalContagemDicas_1 = (agentes.PrincipioFundamentalContagemDicas) objects[0];
    }

    /**
     * Condition 0 of rule verificaPreenchimento3.<p>
     * The original expression was:<br>
     * <code>mult.getPanel(2).isVisible() == true && mult.getResposta().getText().isEmpty()</code>
     *
     * @return <code>true</code> if the condition is satisfied;
     *          <code>false</code> otherwise.
     */
    private boolean verificaPreenchimento3_cond_0() {
        return (agentes_PrincipioFundamentalContagemDicas_1.getPanel(2).isVisible() == true && agentes_PrincipioFundamentalContagemDicas_1.getResposta().getText().isEmpty());
    }

    /**
     * Checks whether some conditions of rule verificaPreenchimento3 is satisfied.
     *
     * @param index the index of the condition to be checked.
     * @return <code>true</code> if the condition is satisfied;
     *          <code>false</code> otherwise.
     */
    private boolean verificaPreenchimento3_cond(int index) {
        switch (index) {
            case 0: return verificaPreenchimento3_cond_0();
            default: return false;
        }
    }

    /**
     * Checks whether all conditions of rule verificaPreenchimento3 that depend only on
     * the given object are satisfied.
     *
     * @param declIndex the index of the declaration to be checked
     * @return <code>true</code> if all corresponding conditions for
     *          this rule are satisfied; <code>false</code> otherwise.
     */
    private boolean checkConditionsOnlyOf_verificaPreenchimento3(int declIndex) {
        switch (declIndex) {
            case 0:
                if (!verificaPreenchimento3_cond_0()) return false;
                return true;
            default: return false;
        }
    }

    /**
     * Checks whether all the conditions of a rule which
     * reference some declared element of the declarations are
     * true.
     *
     * @param declIndex the index of the declared element.
     * @return <code>true</code> if the conditions that reference
     *          up to the given declaration are true;
     *          <code>false</code> otherwise.
     */
    private boolean checkCondForDeclaration_verificaPreenchimento3(int declIndex) {
        switch (declIndex) {
            case 0:
                return true;
            default: return false;
        }
    }

    /**
     * Executes the action part of the rule verificaPreenchimento3
     */
    private void verificaPreenchimento3() {
	    	agentes_PrincipioFundamentalContagemDicas_1.mostrarAlerta(10);
	    }


	
	
    /**
     * Identifiers of rule respostaValida
     */
    private String[] identifiers_respostaValida = {
        "mult"
    };

    /**
     * Returns the identifiers declared in rule respostaValida
     *
     * @return the identifiers declared in rule respostaValida
     */
    private String[] getDeclaredIdentifiers_respostaValida() {
         return identifiers_respostaValida;
    }

    /**
     * Returns the name of the class of one declared object for
     * rule respostaValida.
     *
     * @param index the index of the declaration
     * @return the name of the class of the declared objects for
     *          this rule.
     */
    private String getDeclaredClassName_respostaValida(int index) {
        switch (index) {
            case 0: return "agentes.PrincipioFundamentalContagemDicas";
            default: return null;
        }
    }

    /**
     * Returns the class of one declared object for rule respostaValida.
     *
     * @param index the index of the declaration
     * @return the class of the declared objects for this rule.
     */
    private Class getDeclaredClass_respostaValida(int index) {
        switch (index) {
            case 0: return agentes.PrincipioFundamentalContagemDicas.class;
            default: return null;
        }
    }

    /**
     * Sets an object declared in the rule respostaValida.
     *
     * @param index the index of the declared object
     * @param value the value of the object being set.
     */
    private void setObject_respostaValida(int index, Object value) {
        switch (index) {
            case 0: this.agentes_PrincipioFundamentalContagemDicas_1 = (agentes.PrincipioFundamentalContagemDicas) value; break;
        }
    }

    /**
     * Returns an object declared in the rule respostaValida.
     *
     * @param index the index of the declared object
     * @return the value of the corresponding object.
     */
    private Object getObject_respostaValida(int index) {
        switch (index) {
            case 0: return agentes_PrincipioFundamentalContagemDicas_1;
            default: return null;
        }
    }

    /**
     * Returns all variables bound to the declarations 
     * of rule respostaValida
     *
     * @return an object array of the variables bound to the
     *          declarations of this rule.
     */
    private Object[] getObjects_respostaValida() {
        return new Object[] {
                            agentes_PrincipioFundamentalContagemDicas_1
                            };
    }

    /**
     * Defines all variables bound to the declarations 
     * of rule respostaValida
     *
     * @param objects an object array of the variables bound to the
     *          declarations of this rule.
     */
    private void setObjects_respostaValida(Object[] objects) {
        agentes_PrincipioFundamentalContagemDicas_1 = (agentes.PrincipioFundamentalContagemDicas) objects[0];
    }

    /**
     * Condition 0 of rule respostaValida.<p>
     * The original expression was:<br>
     * <code>mult.getPanel(2).isVisible() == true && mult.getValueResposta() == 12</code>
     *
     * @return <code>true</code> if the condition is satisfied;
     *          <code>false</code> otherwise.
     */
    private boolean respostaValida_cond_0() {
        return (agentes_PrincipioFundamentalContagemDicas_1.getPanel(2).isVisible() == true && agentes_PrincipioFundamentalContagemDicas_1.getValueResposta() == 12);
    }

    /**
     * Checks whether some conditions of rule respostaValida is satisfied.
     *
     * @param index the index of the condition to be checked.
     * @return <code>true</code> if the condition is satisfied;
     *          <code>false</code> otherwise.
     */
    private boolean respostaValida_cond(int index) {
        switch (index) {
            case 0: return respostaValida_cond_0();
            default: return false;
        }
    }

    /**
     * Checks whether all conditions of rule respostaValida that depend only on
     * the given object are satisfied.
     *
     * @param declIndex the index of the declaration to be checked
     * @return <code>true</code> if all corresponding conditions for
     *          this rule are satisfied; <code>false</code> otherwise.
     */
    private boolean checkConditionsOnlyOf_respostaValida(int declIndex) {
        switch (declIndex) {
            case 0:
                if (!respostaValida_cond_0()) return false;
                return true;
            default: return false;
        }
    }

    /**
     * Checks whether all the conditions of a rule which
     * reference some declared element of the declarations are
     * true.
     *
     * @param declIndex the index of the declared element.
     * @return <code>true</code> if the conditions that reference
     *          up to the given declaration are true;
     *          <code>false</code> otherwise.
     */
    private boolean checkCondForDeclaration_respostaValida(int declIndex) {
        switch (declIndex) {
            case 0:
                return true;
            default: return false;
        }
    }

    /**
     * Executes the action part of the rule respostaValida
     */
    private void respostaValida() {
    		agentes_PrincipioFundamentalContagemDicas_1.mostrarAlerta(7);

	    }




	
    /**
     * Identifiers of rule respostaInvalida1
     */
    private String[] identifiers_respostaInvalida1 = {
        "mult"
    };

    /**
     * Returns the identifiers declared in rule respostaInvalida1
     *
     * @return the identifiers declared in rule respostaInvalida1
     */
    private String[] getDeclaredIdentifiers_respostaInvalida1() {
         return identifiers_respostaInvalida1;
    }

    /**
     * Returns the name of the class of one declared object for
     * rule respostaInvalida1.
     *
     * @param index the index of the declaration
     * @return the name of the class of the declared objects for
     *          this rule.
     */
    private String getDeclaredClassName_respostaInvalida1(int index) {
        switch (index) {
            case 0: return "agentes.PrincipioFundamentalContagemDicas";
            default: return null;
        }
    }

    /**
     * Returns the class of one declared object for rule respostaInvalida1.
     *
     * @param index the index of the declaration
     * @return the class of the declared objects for this rule.
     */
    private Class getDeclaredClass_respostaInvalida1(int index) {
        switch (index) {
            case 0: return agentes.PrincipioFundamentalContagemDicas.class;
            default: return null;
        }
    }

    /**
     * Sets an object declared in the rule respostaInvalida1.
     *
     * @param index the index of the declared object
     * @param value the value of the object being set.
     */
    private void setObject_respostaInvalida1(int index, Object value) {
        switch (index) {
            case 0: this.agentes_PrincipioFundamentalContagemDicas_1 = (agentes.PrincipioFundamentalContagemDicas) value; break;
        }
    }

    /**
     * Returns an object declared in the rule respostaInvalida1.
     *
     * @param index the index of the declared object
     * @return the value of the corresponding object.
     */
    private Object getObject_respostaInvalida1(int index) {
        switch (index) {
            case 0: return agentes_PrincipioFundamentalContagemDicas_1;
            default: return null;
        }
    }

    /**
     * Returns all variables bound to the declarations 
     * of rule respostaInvalida1
     *
     * @return an object array of the variables bound to the
     *          declarations of this rule.
     */
    private Object[] getObjects_respostaInvalida1() {
        return new Object[] {
                            agentes_PrincipioFundamentalContagemDicas_1
                            };
    }

    /**
     * Defines all variables bound to the declarations 
     * of rule respostaInvalida1
     *
     * @param objects an object array of the variables bound to the
     *          declarations of this rule.
     */
    private void setObjects_respostaInvalida1(Object[] objects) {
        agentes_PrincipioFundamentalContagemDicas_1 = (agentes.PrincipioFundamentalContagemDicas) objects[0];
    }

    /**
     * Condition 0 of rule respostaInvalida1.<p>
     * The original expression was:<br>
     * <code>mult.getPanel(2).isVisible() == true && mult.getValueResposta() != 12</code>
     *
     * @return <code>true</code> if the condition is satisfied;
     *          <code>false</code> otherwise.
     */
    private boolean respostaInvalida1_cond_0() {
        return (agentes_PrincipioFundamentalContagemDicas_1.getPanel(2).isVisible() == true && agentes_PrincipioFundamentalContagemDicas_1.getValueResposta() != 12);
    }

    /**
     * Checks whether some conditions of rule respostaInvalida1 is satisfied.
     *
     * @param index the index of the condition to be checked.
     * @return <code>true</code> if the condition is satisfied;
     *          <code>false</code> otherwise.
     */
    private boolean respostaInvalida1_cond(int index) {
        switch (index) {
            case 0: return respostaInvalida1_cond_0();
            default: return false;
        }
    }

    /**
     * Checks whether all conditions of rule respostaInvalida1 that depend only on
     * the given object are satisfied.
     *
     * @param declIndex the index of the declaration to be checked
     * @return <code>true</code> if all corresponding conditions for
     *          this rule are satisfied; <code>false</code> otherwise.
     */
    private boolean checkConditionsOnlyOf_respostaInvalida1(int declIndex) {
        switch (declIndex) {
            case 0:
                if (!respostaInvalida1_cond_0()) return false;
                return true;
            default: return false;
        }
    }

    /**
     * Checks whether all the conditions of a rule which
     * reference some declared element of the declarations are
     * true.
     *
     * @param declIndex the index of the declared element.
     * @return <code>true</code> if the conditions that reference
     *          up to the given declaration are true;
     *          <code>false</code> otherwise.
     */
    private boolean checkCondForDeclaration_respostaInvalida1(int declIndex) {
        switch (declIndex) {
            case 0:
                return true;
            default: return false;
        }
    }

    /**
     * Executes the action part of the rule respostaInvalida1
     */
    private void respostaInvalida1() {
			agentes_PrincipioFundamentalContagemDicas_1.mostrarAlerta(1);
	    }



		
	
    /**
     * Identifiers of rule opcoesInvalidas1
     */
    private String[] identifiers_opcoesInvalidas1 = {
        "mult"
    };

    /**
     * Returns the identifiers declared in rule opcoesInvalidas1
     *
     * @return the identifiers declared in rule opcoesInvalidas1
     */
    private String[] getDeclaredIdentifiers_opcoesInvalidas1() {
         return identifiers_opcoesInvalidas1;
    }

    /**
     * Returns the name of the class of one declared object for
     * rule opcoesInvalidas1.
     *
     * @param index the index of the declaration
     * @return the name of the class of the declared objects for
     *          this rule.
     */
    private String getDeclaredClassName_opcoesInvalidas1(int index) {
        switch (index) {
            case 0: return "agentes.PrincipioFundamentalContagemDicas";
            default: return null;
        }
    }

    /**
     * Returns the class of one declared object for rule opcoesInvalidas1.
     *
     * @param index the index of the declaration
     * @return the class of the declared objects for this rule.
     */
    private Class getDeclaredClass_opcoesInvalidas1(int index) {
        switch (index) {
            case 0: return agentes.PrincipioFundamentalContagemDicas.class;
            default: return null;
        }
    }

    /**
     * Sets an object declared in the rule opcoesInvalidas1.
     *
     * @param index the index of the declared object
     * @param value the value of the object being set.
     */
    private void setObject_opcoesInvalidas1(int index, Object value) {
        switch (index) {
            case 0: this.agentes_PrincipioFundamentalContagemDicas_1 = (agentes.PrincipioFundamentalContagemDicas) value; break;
        }
    }

    /**
     * Returns an object declared in the rule opcoesInvalidas1.
     *
     * @param index the index of the declared object
     * @return the value of the corresponding object.
     */
    private Object getObject_opcoesInvalidas1(int index) {
        switch (index) {
            case 0: return agentes_PrincipioFundamentalContagemDicas_1;
            default: return null;
        }
    }

    /**
     * Returns all variables bound to the declarations 
     * of rule opcoesInvalidas1
     *
     * @return an object array of the variables bound to the
     *          declarations of this rule.
     */
    private Object[] getObjects_opcoesInvalidas1() {
        return new Object[] {
                            agentes_PrincipioFundamentalContagemDicas_1
                            };
    }

    /**
     * Defines all variables bound to the declarations 
     * of rule opcoesInvalidas1
     *
     * @param objects an object array of the variables bound to the
     *          declarations of this rule.
     */
    private void setObjects_opcoesInvalidas1(Object[] objects) {
        agentes_PrincipioFundamentalContagemDicas_1 = (agentes.PrincipioFundamentalContagemDicas) objects[0];
    }

    /**
     * Condition 0 of rule opcoesInvalidas1.<p>
     * The original expression was:<br>
     * <code>mult.getValueOpcao(0) == 2 || mult.getValueOpcao(1) == 2</code>
     *
     * @return <code>true</code> if the condition is satisfied;
     *          <code>false</code> otherwise.
     */
    private boolean opcoesInvalidas1_cond_0() {
        return (agentes_PrincipioFundamentalContagemDicas_1.getValueOpcao(0) == 2 || agentes_PrincipioFundamentalContagemDicas_1.getValueOpcao(1) == 2);
    }

    /**
     * Checks whether some conditions of rule opcoesInvalidas1 is satisfied.
     *
     * @param index the index of the condition to be checked.
     * @return <code>true</code> if the condition is satisfied;
     *          <code>false</code> otherwise.
     */
    private boolean opcoesInvalidas1_cond(int index) {
        switch (index) {
            case 0: return opcoesInvalidas1_cond_0();
            default: return false;
        }
    }

    /**
     * Checks whether all conditions of rule opcoesInvalidas1 that depend only on
     * the given object are satisfied.
     *
     * @param declIndex the index of the declaration to be checked
     * @return <code>true</code> if all corresponding conditions for
     *          this rule are satisfied; <code>false</code> otherwise.
     */
    private boolean checkConditionsOnlyOf_opcoesInvalidas1(int declIndex) {
        switch (declIndex) {
            case 0:
                if (!opcoesInvalidas1_cond_0()) return false;
                return true;
            default: return false;
        }
    }

    /**
     * Checks whether all the conditions of a rule which
     * reference some declared element of the declarations are
     * true.
     *
     * @param declIndex the index of the declared element.
     * @return <code>true</code> if the conditions that reference
     *          up to the given declaration are true;
     *          <code>false</code> otherwise.
     */
    private boolean checkCondForDeclaration_opcoesInvalidas1(int declIndex) {
        switch (declIndex) {
            case 0:
                return true;
            default: return false;
        }
    }

    /**
     * Executes the action part of the rule opcoesInvalidas1
     */
    private void opcoesInvalidas1() {
			agentes_PrincipioFundamentalContagemDicas_1.mostrarAlerta(2);
	    }



	
	
    /**
     * Identifiers of rule opcoesInvalidas2
     */
    private String[] identifiers_opcoesInvalidas2 = {
        "mult"
    };

    /**
     * Returns the identifiers declared in rule opcoesInvalidas2
     *
     * @return the identifiers declared in rule opcoesInvalidas2
     */
    private String[] getDeclaredIdentifiers_opcoesInvalidas2() {
         return identifiers_opcoesInvalidas2;
    }

    /**
     * Returns the name of the class of one declared object for
     * rule opcoesInvalidas2.
     *
     * @param index the index of the declaration
     * @return the name of the class of the declared objects for
     *          this rule.
     */
    private String getDeclaredClassName_opcoesInvalidas2(int index) {
        switch (index) {
            case 0: return "agentes.PrincipioFundamentalContagemDicas";
            default: return null;
        }
    }

    /**
     * Returns the class of one declared object for rule opcoesInvalidas2.
     *
     * @param index the index of the declaration
     * @return the class of the declared objects for this rule.
     */
    private Class getDeclaredClass_opcoesInvalidas2(int index) {
        switch (index) {
            case 0: return agentes.PrincipioFundamentalContagemDicas.class;
            default: return null;
        }
    }

    /**
     * Sets an object declared in the rule opcoesInvalidas2.
     *
     * @param index the index of the declared object
     * @param value the value of the object being set.
     */
    private void setObject_opcoesInvalidas2(int index, Object value) {
        switch (index) {
            case 0: this.agentes_PrincipioFundamentalContagemDicas_1 = (agentes.PrincipioFundamentalContagemDicas) value; break;
        }
    }

    /**
     * Returns an object declared in the rule opcoesInvalidas2.
     *
     * @param index the index of the declared object
     * @return the value of the corresponding object.
     */
    private Object getObject_opcoesInvalidas2(int index) {
        switch (index) {
            case 0: return agentes_PrincipioFundamentalContagemDicas_1;
            default: return null;
        }
    }

    /**
     * Returns all variables bound to the declarations 
     * of rule opcoesInvalidas2
     *
     * @return an object array of the variables bound to the
     *          declarations of this rule.
     */
    private Object[] getObjects_opcoesInvalidas2() {
        return new Object[] {
                            agentes_PrincipioFundamentalContagemDicas_1
                            };
    }

    /**
     * Defines all variables bound to the declarations 
     * of rule opcoesInvalidas2
     *
     * @param objects an object array of the variables bound to the
     *          declarations of this rule.
     */
    private void setObjects_opcoesInvalidas2(Object[] objects) {
        agentes_PrincipioFundamentalContagemDicas_1 = (agentes.PrincipioFundamentalContagemDicas) objects[0];
    }

    /**
     * Condition 0 of rule opcoesInvalidas2.<p>
     * The original expression was:<br>
     * <code>mult.getPanel(1).isVisible() == true && (mult.getValueOpcao(2) == 2 || mult.getValueOpcao(3) == 2)</code>
     *
     * @return <code>true</code> if the condition is satisfied;
     *          <code>false</code> otherwise.
     */
    private boolean opcoesInvalidas2_cond_0() {
        return (agentes_PrincipioFundamentalContagemDicas_1.getPanel(1).isVisible() == true && (agentes_PrincipioFundamentalContagemDicas_1.getValueOpcao(2) == 2 || agentes_PrincipioFundamentalContagemDicas_1.getValueOpcao(3) == 2));
    }

    /**
     * Checks whether some conditions of rule opcoesInvalidas2 is satisfied.
     *
     * @param index the index of the condition to be checked.
     * @return <code>true</code> if the condition is satisfied;
     *          <code>false</code> otherwise.
     */
    private boolean opcoesInvalidas2_cond(int index) {
        switch (index) {
            case 0: return opcoesInvalidas2_cond_0();
            default: return false;
        }
    }

    /**
     * Checks whether all conditions of rule opcoesInvalidas2 that depend only on
     * the given object are satisfied.
     *
     * @param declIndex the index of the declaration to be checked
     * @return <code>true</code> if all corresponding conditions for
     *          this rule are satisfied; <code>false</code> otherwise.
     */
    private boolean checkConditionsOnlyOf_opcoesInvalidas2(int declIndex) {
        switch (declIndex) {
            case 0:
                if (!opcoesInvalidas2_cond_0()) return false;
                return true;
            default: return false;
        }
    }

    /**
     * Checks whether all the conditions of a rule which
     * reference some declared element of the declarations are
     * true.
     *
     * @param declIndex the index of the declared element.
     * @return <code>true</code> if the conditions that reference
     *          up to the given declaration are true;
     *          <code>false</code> otherwise.
     */
    private boolean checkCondForDeclaration_opcoesInvalidas2(int declIndex) {
        switch (declIndex) {
            case 0:
                return true;
            default: return false;
        }
    }

    /**
     * Executes the action part of the rule opcoesInvalidas2
     */
    private void opcoesInvalidas2() {
			agentes_PrincipioFundamentalContagemDicas_1.mostrarAlerta(2);
	    }


	
		
	
    /**
     * Identifiers of rule opcoesInvalidas3
     */
    private String[] identifiers_opcoesInvalidas3 = {
        "mult"
    };

    /**
     * Returns the identifiers declared in rule opcoesInvalidas3
     *
     * @return the identifiers declared in rule opcoesInvalidas3
     */
    private String[] getDeclaredIdentifiers_opcoesInvalidas3() {
         return identifiers_opcoesInvalidas3;
    }

    /**
     * Returns the name of the class of one declared object for
     * rule opcoesInvalidas3.
     *
     * @param index the index of the declaration
     * @return the name of the class of the declared objects for
     *          this rule.
     */
    private String getDeclaredClassName_opcoesInvalidas3(int index) {
        switch (index) {
            case 0: return "agentes.PrincipioFundamentalContagemDicas";
            default: return null;
        }
    }

    /**
     * Returns the class of one declared object for rule opcoesInvalidas3.
     *
     * @param index the index of the declaration
     * @return the class of the declared objects for this rule.
     */
    private Class getDeclaredClass_opcoesInvalidas3(int index) {
        switch (index) {
            case 0: return agentes.PrincipioFundamentalContagemDicas.class;
            default: return null;
        }
    }

    /**
     * Sets an object declared in the rule opcoesInvalidas3.
     *
     * @param index the index of the declared object
     * @param value the value of the object being set.
     */
    private void setObject_opcoesInvalidas3(int index, Object value) {
        switch (index) {
            case 0: this.agentes_PrincipioFundamentalContagemDicas_1 = (agentes.PrincipioFundamentalContagemDicas) value; break;
        }
    }

    /**
     * Returns an object declared in the rule opcoesInvalidas3.
     *
     * @param index the index of the declared object
     * @return the value of the corresponding object.
     */
    private Object getObject_opcoesInvalidas3(int index) {
        switch (index) {
            case 0: return agentes_PrincipioFundamentalContagemDicas_1;
            default: return null;
        }
    }

    /**
     * Returns all variables bound to the declarations 
     * of rule opcoesInvalidas3
     *
     * @return an object array of the variables bound to the
     *          declarations of this rule.
     */
    private Object[] getObjects_opcoesInvalidas3() {
        return new Object[] {
                            agentes_PrincipioFundamentalContagemDicas_1
                            };
    }

    /**
     * Defines all variables bound to the declarations 
     * of rule opcoesInvalidas3
     *
     * @param objects an object array of the variables bound to the
     *          declarations of this rule.
     */
    private void setObjects_opcoesInvalidas3(Object[] objects) {
        agentes_PrincipioFundamentalContagemDicas_1 = (agentes.PrincipioFundamentalContagemDicas) objects[0];
    }

    /**
     * Condition 0 of rule opcoesInvalidas3.<p>
     * The original expression was:<br>
     * <code>mult.getPanel(1).isVisible() == true && mult.getValueOpcao(2) == 4 && mult.getValueOpcao(3) == 4</code>
     *
     * @return <code>true</code> if the condition is satisfied;
     *          <code>false</code> otherwise.
     */
    private boolean opcoesInvalidas3_cond_0() {
        return (agentes_PrincipioFundamentalContagemDicas_1.getPanel(1).isVisible() == true && agentes_PrincipioFundamentalContagemDicas_1.getValueOpcao(2) == 4 && agentes_PrincipioFundamentalContagemDicas_1.getValueOpcao(3) == 4);
    }

    /**
     * Checks whether some conditions of rule opcoesInvalidas3 is satisfied.
     *
     * @param index the index of the condition to be checked.
     * @return <code>true</code> if the condition is satisfied;
     *          <code>false</code> otherwise.
     */
    private boolean opcoesInvalidas3_cond(int index) {
        switch (index) {
            case 0: return opcoesInvalidas3_cond_0();
            default: return false;
        }
    }

    /**
     * Checks whether all conditions of rule opcoesInvalidas3 that depend only on
     * the given object are satisfied.
     *
     * @param declIndex the index of the declaration to be checked
     * @return <code>true</code> if all corresponding conditions for
     *          this rule are satisfied; <code>false</code> otherwise.
     */
    private boolean checkConditionsOnlyOf_opcoesInvalidas3(int declIndex) {
        switch (declIndex) {
            case 0:
                if (!opcoesInvalidas3_cond_0()) return false;
                return true;
            default: return false;
        }
    }

    /**
     * Checks whether all the conditions of a rule which
     * reference some declared element of the declarations are
     * true.
     *
     * @param declIndex the index of the declared element.
     * @return <code>true</code> if the conditions that reference
     *          up to the given declaration are true;
     *          <code>false</code> otherwise.
     */
    private boolean checkCondForDeclaration_opcoesInvalidas3(int declIndex) {
        switch (declIndex) {
            case 0:
                return true;
            default: return false;
        }
    }

    /**
     * Executes the action part of the rule opcoesInvalidas3
     */
    private void opcoesInvalidas3() {
			agentes_PrincipioFundamentalContagemDicas_1.mostrarAlerta(3);
	    }


	
	
    /**
     * Identifiers of rule opcoesInvalidas3_1
     */
    private String[] identifiers_opcoesInvalidas3_1 = {
        "mult"
    };

    /**
     * Returns the identifiers declared in rule opcoesInvalidas3_1
     *
     * @return the identifiers declared in rule opcoesInvalidas3_1
     */
    private String[] getDeclaredIdentifiers_opcoesInvalidas3_1() {
         return identifiers_opcoesInvalidas3_1;
    }

    /**
     * Returns the name of the class of one declared object for
     * rule opcoesInvalidas3_1.
     *
     * @param index the index of the declaration
     * @return the name of the class of the declared objects for
     *          this rule.
     */
    private String getDeclaredClassName_opcoesInvalidas3_1(int index) {
        switch (index) {
            case 0: return "agentes.PrincipioFundamentalContagemDicas";
            default: return null;
        }
    }

    /**
     * Returns the class of one declared object for rule opcoesInvalidas3_1.
     *
     * @param index the index of the declaration
     * @return the class of the declared objects for this rule.
     */
    private Class getDeclaredClass_opcoesInvalidas3_1(int index) {
        switch (index) {
            case 0: return agentes.PrincipioFundamentalContagemDicas.class;
            default: return null;
        }
    }

    /**
     * Sets an object declared in the rule opcoesInvalidas3_1.
     *
     * @param index the index of the declared object
     * @param value the value of the object being set.
     */
    private void setObject_opcoesInvalidas3_1(int index, Object value) {
        switch (index) {
            case 0: this.agentes_PrincipioFundamentalContagemDicas_1 = (agentes.PrincipioFundamentalContagemDicas) value; break;
        }
    }

    /**
     * Returns an object declared in the rule opcoesInvalidas3_1.
     *
     * @param index the index of the declared object
     * @return the value of the corresponding object.
     */
    private Object getObject_opcoesInvalidas3_1(int index) {
        switch (index) {
            case 0: return agentes_PrincipioFundamentalContagemDicas_1;
            default: return null;
        }
    }

    /**
     * Returns all variables bound to the declarations 
     * of rule opcoesInvalidas3_1
     *
     * @return an object array of the variables bound to the
     *          declarations of this rule.
     */
    private Object[] getObjects_opcoesInvalidas3_1() {
        return new Object[] {
                            agentes_PrincipioFundamentalContagemDicas_1
                            };
    }

    /**
     * Defines all variables bound to the declarations 
     * of rule opcoesInvalidas3_1
     *
     * @param objects an object array of the variables bound to the
     *          declarations of this rule.
     */
    private void setObjects_opcoesInvalidas3_1(Object[] objects) {
        agentes_PrincipioFundamentalContagemDicas_1 = (agentes.PrincipioFundamentalContagemDicas) objects[0];
    }

    /**
     * Condition 0 of rule opcoesInvalidas3_1.<p>
     * The original expression was:<br>
     * <code>mult.getPanel(1).isVisible() == true && 
			(
				((mult.getValueOpcao(2) != 4 && mult.getValueOpcao(3) != 3) &&
				(mult.getValueOpcao(3) != 4 && mult.getValueOpcao(2) != 3)) ||
				((mult.getValueOpcao(3) == 4 && mult.getValueOpcao(2) != 3) &&
				(mult.getValueOpcao(2) == 4 && mult.getValueOpcao(3) != 3))
			)</code>
     *
     * @return <code>true</code> if the condition is satisfied;
     *          <code>false</code> otherwise.
     */
    private boolean opcoesInvalidas3_1_cond_0() {
        return (agentes_PrincipioFundamentalContagemDicas_1.getPanel(1).isVisible() == true && 
			(
				((agentes_PrincipioFundamentalContagemDicas_1.getValueOpcao(2) != 4 && agentes_PrincipioFundamentalContagemDicas_1.getValueOpcao(3) != 3) &&
				(agentes_PrincipioFundamentalContagemDicas_1.getValueOpcao(3) != 4 && agentes_PrincipioFundamentalContagemDicas_1.getValueOpcao(2) != 3)) ||
				((agentes_PrincipioFundamentalContagemDicas_1.getValueOpcao(3) == 4 && agentes_PrincipioFundamentalContagemDicas_1.getValueOpcao(2) != 3) &&
				(agentes_PrincipioFundamentalContagemDicas_1.getValueOpcao(2) == 4 && agentes_PrincipioFundamentalContagemDicas_1.getValueOpcao(3) != 3))
			));
    }

    /**
     * Checks whether some conditions of rule opcoesInvalidas3_1 is satisfied.
     *
     * @param index the index of the condition to be checked.
     * @return <code>true</code> if the condition is satisfied;
     *          <code>false</code> otherwise.
     */
    private boolean opcoesInvalidas3_1_cond(int index) {
        switch (index) {
            case 0: return opcoesInvalidas3_1_cond_0();
            default: return false;
        }
    }

    /**
     * Checks whether all conditions of rule opcoesInvalidas3_1 that depend only on
     * the given object are satisfied.
     *
     * @param declIndex the index of the declaration to be checked
     * @return <code>true</code> if all corresponding conditions for
     *          this rule are satisfied; <code>false</code> otherwise.
     */
    private boolean checkConditionsOnlyOf_opcoesInvalidas3_1(int declIndex) {
        switch (declIndex) {
            case 0:
                if (!opcoesInvalidas3_1_cond_0()) return false;
                return true;
            default: return false;
        }
    }

    /**
     * Checks whether all the conditions of a rule which
     * reference some declared element of the declarations are
     * true.
     *
     * @param declIndex the index of the declared element.
     * @return <code>true</code> if the conditions that reference
     *          up to the given declaration are true;
     *          <code>false</code> otherwise.
     */
    private boolean checkCondForDeclaration_opcoesInvalidas3_1(int declIndex) {
        switch (declIndex) {
            case 0:
                return true;
            default: return false;
        }
    }

    /**
     * Executes the action part of the rule opcoesInvalidas3_1
     */
    private void opcoesInvalidas3_1() {
			agentes_PrincipioFundamentalContagemDicas_1.mostrarAlerta(9);
	    }


	
	
    /**
     * Identifiers of rule opcoesInvalidas3_5
     */
    private String[] identifiers_opcoesInvalidas3_5 = {
        "mult"
    };

    /**
     * Returns the identifiers declared in rule opcoesInvalidas3_5
     *
     * @return the identifiers declared in rule opcoesInvalidas3_5
     */
    private String[] getDeclaredIdentifiers_opcoesInvalidas3_5() {
         return identifiers_opcoesInvalidas3_5;
    }

    /**
     * Returns the name of the class of one declared object for
     * rule opcoesInvalidas3_5.
     *
     * @param index the index of the declaration
     * @return the name of the class of the declared objects for
     *          this rule.
     */
    private String getDeclaredClassName_opcoesInvalidas3_5(int index) {
        switch (index) {
            case 0: return "agentes.PrincipioFundamentalContagemDicas";
            default: return null;
        }
    }

    /**
     * Returns the class of one declared object for rule opcoesInvalidas3_5.
     *
     * @param index the index of the declaration
     * @return the class of the declared objects for this rule.
     */
    private Class getDeclaredClass_opcoesInvalidas3_5(int index) {
        switch (index) {
            case 0: return agentes.PrincipioFundamentalContagemDicas.class;
            default: return null;
        }
    }

    /**
     * Sets an object declared in the rule opcoesInvalidas3_5.
     *
     * @param index the index of the declared object
     * @param value the value of the object being set.
     */
    private void setObject_opcoesInvalidas3_5(int index, Object value) {
        switch (index) {
            case 0: this.agentes_PrincipioFundamentalContagemDicas_1 = (agentes.PrincipioFundamentalContagemDicas) value; break;
        }
    }

    /**
     * Returns an object declared in the rule opcoesInvalidas3_5.
     *
     * @param index the index of the declared object
     * @return the value of the corresponding object.
     */
    private Object getObject_opcoesInvalidas3_5(int index) {
        switch (index) {
            case 0: return agentes_PrincipioFundamentalContagemDicas_1;
            default: return null;
        }
    }

    /**
     * Returns all variables bound to the declarations 
     * of rule opcoesInvalidas3_5
     *
     * @return an object array of the variables bound to the
     *          declarations of this rule.
     */
    private Object[] getObjects_opcoesInvalidas3_5() {
        return new Object[] {
                            agentes_PrincipioFundamentalContagemDicas_1
                            };
    }

    /**
     * Defines all variables bound to the declarations 
     * of rule opcoesInvalidas3_5
     *
     * @param objects an object array of the variables bound to the
     *          declarations of this rule.
     */
    private void setObjects_opcoesInvalidas3_5(Object[] objects) {
        agentes_PrincipioFundamentalContagemDicas_1 = (agentes.PrincipioFundamentalContagemDicas) objects[0];
    }

    /**
     * Condition 0 of rule opcoesInvalidas3_5.<p>
     * The original expression was:<br>
     * <code>mult.getPanel(1).isVisible() == true && 
			(
				(mult.getValueOpcao(2) != 4 && mult.getValueOpcao(3) == 3) ||
				(mult.getValueOpcao(3) != 4 && mult.getValueOpcao(2) == 3)
			)</code>
     *
     * @return <code>true</code> if the condition is satisfied;
     *          <code>false</code> otherwise.
     */
    private boolean opcoesInvalidas3_5_cond_0() {
        return (agentes_PrincipioFundamentalContagemDicas_1.getPanel(1).isVisible() == true && 
			(
				(agentes_PrincipioFundamentalContagemDicas_1.getValueOpcao(2) != 4 && agentes_PrincipioFundamentalContagemDicas_1.getValueOpcao(3) == 3) ||
				(agentes_PrincipioFundamentalContagemDicas_1.getValueOpcao(3) != 4 && agentes_PrincipioFundamentalContagemDicas_1.getValueOpcao(2) == 3)
			));
    }

    /**
     * Checks whether some conditions of rule opcoesInvalidas3_5 is satisfied.
     *
     * @param index the index of the condition to be checked.
     * @return <code>true</code> if the condition is satisfied;
     *          <code>false</code> otherwise.
     */
    private boolean opcoesInvalidas3_5_cond(int index) {
        switch (index) {
            case 0: return opcoesInvalidas3_5_cond_0();
            default: return false;
        }
    }

    /**
     * Checks whether all conditions of rule opcoesInvalidas3_5 that depend only on
     * the given object are satisfied.
     *
     * @param declIndex the index of the declaration to be checked
     * @return <code>true</code> if all corresponding conditions for
     *          this rule are satisfied; <code>false</code> otherwise.
     */
    private boolean checkConditionsOnlyOf_opcoesInvalidas3_5(int declIndex) {
        switch (declIndex) {
            case 0:
                if (!opcoesInvalidas3_5_cond_0()) return false;
                return true;
            default: return false;
        }
    }

    /**
     * Checks whether all the conditions of a rule which
     * reference some declared element of the declarations are
     * true.
     *
     * @param declIndex the index of the declared element.
     * @return <code>true</code> if the conditions that reference
     *          up to the given declaration are true;
     *          <code>false</code> otherwise.
     */
    private boolean checkCondForDeclaration_opcoesInvalidas3_5(int declIndex) {
        switch (declIndex) {
            case 0:
                return true;
            default: return false;
        }
    }

    /**
     * Executes the action part of the rule opcoesInvalidas3_5
     */
    private void opcoesInvalidas3_5() {
			agentes_PrincipioFundamentalContagemDicas_1.mostrarAlerta(8);
	    }



	
    /**
     * Identifiers of rule opcoesInvalidas4
     */
    private String[] identifiers_opcoesInvalidas4 = {
        "mult"
    };

    /**
     * Returns the identifiers declared in rule opcoesInvalidas4
     *
     * @return the identifiers declared in rule opcoesInvalidas4
     */
    private String[] getDeclaredIdentifiers_opcoesInvalidas4() {
         return identifiers_opcoesInvalidas4;
    }

    /**
     * Returns the name of the class of one declared object for
     * rule opcoesInvalidas4.
     *
     * @param index the index of the declaration
     * @return the name of the class of the declared objects for
     *          this rule.
     */
    private String getDeclaredClassName_opcoesInvalidas4(int index) {
        switch (index) {
            case 0: return "agentes.PrincipioFundamentalContagemDicas";
            default: return null;
        }
    }

    /**
     * Returns the class of one declared object for rule opcoesInvalidas4.
     *
     * @param index the index of the declaration
     * @return the class of the declared objects for this rule.
     */
    private Class getDeclaredClass_opcoesInvalidas4(int index) {
        switch (index) {
            case 0: return agentes.PrincipioFundamentalContagemDicas.class;
            default: return null;
        }
    }

    /**
     * Sets an object declared in the rule opcoesInvalidas4.
     *
     * @param index the index of the declared object
     * @param value the value of the object being set.
     */
    private void setObject_opcoesInvalidas4(int index, Object value) {
        switch (index) {
            case 0: this.agentes_PrincipioFundamentalContagemDicas_1 = (agentes.PrincipioFundamentalContagemDicas) value; break;
        }
    }

    /**
     * Returns an object declared in the rule opcoesInvalidas4.
     *
     * @param index the index of the declared object
     * @return the value of the corresponding object.
     */
    private Object getObject_opcoesInvalidas4(int index) {
        switch (index) {
            case 0: return agentes_PrincipioFundamentalContagemDicas_1;
            default: return null;
        }
    }

    /**
     * Returns all variables bound to the declarations 
     * of rule opcoesInvalidas4
     *
     * @return an object array of the variables bound to the
     *          declarations of this rule.
     */
    private Object[] getObjects_opcoesInvalidas4() {
        return new Object[] {
                            agentes_PrincipioFundamentalContagemDicas_1
                            };
    }

    /**
     * Defines all variables bound to the declarations 
     * of rule opcoesInvalidas4
     *
     * @param objects an object array of the variables bound to the
     *          declarations of this rule.
     */
    private void setObjects_opcoesInvalidas4(Object[] objects) {
        agentes_PrincipioFundamentalContagemDicas_1 = (agentes.PrincipioFundamentalContagemDicas) objects[0];
    }

    /**
     * Condition 0 of rule opcoesInvalidas4.<p>
     * The original expression was:<br>
     * <code>(mult.getValueOpcao(0) > 4 || mult.getValueOpcao(1) > 4)</code>
     *
     * @return <code>true</code> if the condition is satisfied;
     *          <code>false</code> otherwise.
     */
    private boolean opcoesInvalidas4_cond_0() {
        return ((agentes_PrincipioFundamentalContagemDicas_1.getValueOpcao(0) > 4 || agentes_PrincipioFundamentalContagemDicas_1.getValueOpcao(1) > 4));
    }

    /**
     * Checks whether some conditions of rule opcoesInvalidas4 is satisfied.
     *
     * @param index the index of the condition to be checked.
     * @return <code>true</code> if the condition is satisfied;
     *          <code>false</code> otherwise.
     */
    private boolean opcoesInvalidas4_cond(int index) {
        switch (index) {
            case 0: return opcoesInvalidas4_cond_0();
            default: return false;
        }
    }

    /**
     * Checks whether all conditions of rule opcoesInvalidas4 that depend only on
     * the given object are satisfied.
     *
     * @param declIndex the index of the declaration to be checked
     * @return <code>true</code> if all corresponding conditions for
     *          this rule are satisfied; <code>false</code> otherwise.
     */
    private boolean checkConditionsOnlyOf_opcoesInvalidas4(int declIndex) {
        switch (declIndex) {
            case 0:
                if (!opcoesInvalidas4_cond_0()) return false;
                return true;
            default: return false;
        }
    }

    /**
     * Checks whether all the conditions of a rule which
     * reference some declared element of the declarations are
     * true.
     *
     * @param declIndex the index of the declared element.
     * @return <code>true</code> if the conditions that reference
     *          up to the given declaration are true;
     *          <code>false</code> otherwise.
     */
    private boolean checkCondForDeclaration_opcoesInvalidas4(int declIndex) {
        switch (declIndex) {
            case 0:
                return true;
            default: return false;
        }
    }

    /**
     * Executes the action part of the rule opcoesInvalidas4
     */
    private void opcoesInvalidas4() {
			agentes_PrincipioFundamentalContagemDicas_1.mostrarAlerta(5);
	    }


	
	
    /**
     * Identifiers of rule opcoesInvalidas5
     */
    private String[] identifiers_opcoesInvalidas5 = {
        "mult"
    };

    /**
     * Returns the identifiers declared in rule opcoesInvalidas5
     *
     * @return the identifiers declared in rule opcoesInvalidas5
     */
    private String[] getDeclaredIdentifiers_opcoesInvalidas5() {
         return identifiers_opcoesInvalidas5;
    }

    /**
     * Returns the name of the class of one declared object for
     * rule opcoesInvalidas5.
     *
     * @param index the index of the declaration
     * @return the name of the class of the declared objects for
     *          this rule.
     */
    private String getDeclaredClassName_opcoesInvalidas5(int index) {
        switch (index) {
            case 0: return "agentes.PrincipioFundamentalContagemDicas";
            default: return null;
        }
    }

    /**
     * Returns the class of one declared object for rule opcoesInvalidas5.
     *
     * @param index the index of the declaration
     * @return the class of the declared objects for this rule.
     */
    private Class getDeclaredClass_opcoesInvalidas5(int index) {
        switch (index) {
            case 0: return agentes.PrincipioFundamentalContagemDicas.class;
            default: return null;
        }
    }

    /**
     * Sets an object declared in the rule opcoesInvalidas5.
     *
     * @param index the index of the declared object
     * @param value the value of the object being set.
     */
    private void setObject_opcoesInvalidas5(int index, Object value) {
        switch (index) {
            case 0: this.agentes_PrincipioFundamentalContagemDicas_1 = (agentes.PrincipioFundamentalContagemDicas) value; break;
        }
    }

    /**
     * Returns an object declared in the rule opcoesInvalidas5.
     *
     * @param index the index of the declared object
     * @return the value of the corresponding object.
     */
    private Object getObject_opcoesInvalidas5(int index) {
        switch (index) {
            case 0: return agentes_PrincipioFundamentalContagemDicas_1;
            default: return null;
        }
    }

    /**
     * Returns all variables bound to the declarations 
     * of rule opcoesInvalidas5
     *
     * @return an object array of the variables bound to the
     *          declarations of this rule.
     */
    private Object[] getObjects_opcoesInvalidas5() {
        return new Object[] {
                            agentes_PrincipioFundamentalContagemDicas_1
                            };
    }

    /**
     * Defines all variables bound to the declarations 
     * of rule opcoesInvalidas5
     *
     * @param objects an object array of the variables bound to the
     *          declarations of this rule.
     */
    private void setObjects_opcoesInvalidas5(Object[] objects) {
        agentes_PrincipioFundamentalContagemDicas_1 = (agentes.PrincipioFundamentalContagemDicas) objects[0];
    }

    /**
     * Condition 0 of rule opcoesInvalidas5.<p>
     * The original expression was:<br>
     * <code>mult.getValueOpcao(0) != 4 || mult.getValueOpcao(1) != 4</code>
     *
     * @return <code>true</code> if the condition is satisfied;
     *          <code>false</code> otherwise.
     */
    private boolean opcoesInvalidas5_cond_0() {
        return (agentes_PrincipioFundamentalContagemDicas_1.getValueOpcao(0) != 4 || agentes_PrincipioFundamentalContagemDicas_1.getValueOpcao(1) != 4);
    }

    /**
     * Checks whether some conditions of rule opcoesInvalidas5 is satisfied.
     *
     * @param index the index of the condition to be checked.
     * @return <code>true</code> if the condition is satisfied;
     *          <code>false</code> otherwise.
     */
    private boolean opcoesInvalidas5_cond(int index) {
        switch (index) {
            case 0: return opcoesInvalidas5_cond_0();
            default: return false;
        }
    }

    /**
     * Checks whether all conditions of rule opcoesInvalidas5 that depend only on
     * the given object are satisfied.
     *
     * @param declIndex the index of the declaration to be checked
     * @return <code>true</code> if all corresponding conditions for
     *          this rule are satisfied; <code>false</code> otherwise.
     */
    private boolean checkConditionsOnlyOf_opcoesInvalidas5(int declIndex) {
        switch (declIndex) {
            case 0:
                if (!opcoesInvalidas5_cond_0()) return false;
                return true;
            default: return false;
        }
    }

    /**
     * Checks whether all the conditions of a rule which
     * reference some declared element of the declarations are
     * true.
     *
     * @param declIndex the index of the declared element.
     * @return <code>true</code> if the conditions that reference
     *          up to the given declaration are true;
     *          <code>false</code> otherwise.
     */
    private boolean checkCondForDeclaration_opcoesInvalidas5(int declIndex) {
        switch (declIndex) {
            case 0:
                return true;
            default: return false;
        }
    }

    /**
     * Executes the action part of the rule opcoesInvalidas5
     */
    private void opcoesInvalidas5() {
			agentes_PrincipioFundamentalContagemDicas_1.mostrarAlerta(8);
	    }





    /**
     * The names of the rules in this class file
     */
    private static final String[] File_ruleNames = {
        "verificaPreenchimento",
        "verificaPreenchimento2",
        "verificaPreenchimento3",
        "respostaValida",
        "respostaInvalida1",
        "opcoesInvalidas1",
        "opcoesInvalidas2",
        "opcoesInvalidas3",
        "opcoesInvalidas3_1",
        "opcoesInvalidas3_5",
        "opcoesInvalidas4",
        "opcoesInvalidas5"
    };

    /**
     * Returns the name of the rules in this class file.
     *
     * @return the name of the rules in this class file.
     */
    public String[] getRuleNames() {
        return File_ruleNames;
    }

    /**
     * The number of declarations of the rules in this class file.
     */
    private static final int[] File_numberOfDeclarations = {
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1
    };

    /**
     * Returns the number of declarations of the rules in this class file.
     *
     * @return the number of declarations  of the rules in this class file.
     */
    public int[] getNumberOfDeclarations() {
        return File_numberOfDeclarations;
    }

    /**
     * The number of conditions of the rules in this class file.
     */
    private static final int[] File_numberOfConditions = {
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        1
    };

    /**
     * Returns the number of conditions of the rules in this class file.
     *
     * @return the number of conditions  of the rules in this class file.
     */
    public int[] getNumberOfConditions() {
        return File_numberOfConditions;
    }

    /**
     * Checks whether a condition of some rule is satisfied.
     *
     * @param ruleIndex the index of the rule to be checked
     * @param condIndex the index of the condition to be checked
     * @return <code>true</code> if the corresponding condition for the
     *          given rule is satisfied. <code>false</code> otherwise.
     */
    public boolean checkCondition(int ruleIndex, int condIndex) {
        switch (ruleIndex) {
            case 0: return verificaPreenchimento_cond(condIndex);
            case 1: return verificaPreenchimento2_cond(condIndex);
            case 2: return verificaPreenchimento3_cond(condIndex);
            case 3: return respostaValida_cond(condIndex);
            case 4: return respostaInvalida1_cond(condIndex);
            case 5: return opcoesInvalidas1_cond(condIndex);
            case 6: return opcoesInvalidas2_cond(condIndex);
            case 7: return opcoesInvalidas3_cond(condIndex);
            case 8: return opcoesInvalidas3_1_cond(condIndex);
            case 9: return opcoesInvalidas3_5_cond(condIndex);
            case 10: return opcoesInvalidas4_cond(condIndex);
            case 11: return opcoesInvalidas5_cond(condIndex);
            default: return false;
        }
    }

    /**
     * Checks whether all conditions of some rule that depend only on
     * the given object are satisfied.
     *
     * @param ruleIndex the index of the rule to be checked
     * @param declIndex the index of the declaration to be checked
     * @return <code>true</code> if all corresponding conditions for
     *          the given rule are satisfied;
     *           <code>false</code> otherwise.
     */
    public boolean checkConditionsOnlyOf(int ruleIndex, int declIndex) {
        switch (ruleIndex) {
            case 0: return checkConditionsOnlyOf_verificaPreenchimento(declIndex);
            case 1: return checkConditionsOnlyOf_verificaPreenchimento2(declIndex);
            case 2: return checkConditionsOnlyOf_verificaPreenchimento3(declIndex);
            case 3: return checkConditionsOnlyOf_respostaValida(declIndex);
            case 4: return checkConditionsOnlyOf_respostaInvalida1(declIndex);
            case 5: return checkConditionsOnlyOf_opcoesInvalidas1(declIndex);
            case 6: return checkConditionsOnlyOf_opcoesInvalidas2(declIndex);
            case 7: return checkConditionsOnlyOf_opcoesInvalidas3(declIndex);
            case 8: return checkConditionsOnlyOf_opcoesInvalidas3_1(declIndex);
            case 9: return checkConditionsOnlyOf_opcoesInvalidas3_5(declIndex);
            case 10: return checkConditionsOnlyOf_opcoesInvalidas4(declIndex);
            case 11: return checkConditionsOnlyOf_opcoesInvalidas5(declIndex);
            default: return false;
        }
    }

    /**
     * Checks whether all the conditions of a rule which
     * reference only the elements declared up to the given index
     * are true.
     *
     * @param ruleIndex the index of the rule to be checked
     * @param declIndex the index of the declaration to be checked
     * @return <code>true</code> if all the conditions of a rule which
     *          reference only the elements declared up to the given index
     *          are satisfied; <code>false</code> otherwise.
     */
    public boolean checkCondForDeclaration(int ruleIndex, int declIndex) {
        switch (ruleIndex) {
            case 0: return checkCondForDeclaration_verificaPreenchimento(declIndex);
            case 1: return checkCondForDeclaration_verificaPreenchimento2(declIndex);
            case 2: return checkCondForDeclaration_verificaPreenchimento3(declIndex);
            case 3: return checkCondForDeclaration_respostaValida(declIndex);
            case 4: return checkCondForDeclaration_respostaInvalida1(declIndex);
            case 5: return checkCondForDeclaration_opcoesInvalidas1(declIndex);
            case 6: return checkCondForDeclaration_opcoesInvalidas2(declIndex);
            case 7: return checkCondForDeclaration_opcoesInvalidas3(declIndex);
            case 8: return checkCondForDeclaration_opcoesInvalidas3_1(declIndex);
            case 9: return checkCondForDeclaration_opcoesInvalidas3_5(declIndex);
            case 10: return checkCondForDeclaration_opcoesInvalidas4(declIndex);
            case 11: return checkCondForDeclaration_opcoesInvalidas5(declIndex);
            default: return false;
        }
    }

    /**
     * Returns the class name of an object declared in a rule.
     *
     * @param ruleIndex the index of the rule
     * @param declIndex the index of the declaration
     * @return the class name of the declared object.
     */
    public String getDeclaredClassName(int ruleIndex, int declIndex) {
        switch (ruleIndex) {
            case 0: return getDeclaredClassName_verificaPreenchimento(declIndex);
            case 1: return getDeclaredClassName_verificaPreenchimento2(declIndex);
            case 2: return getDeclaredClassName_verificaPreenchimento3(declIndex);
            case 3: return getDeclaredClassName_respostaValida(declIndex);
            case 4: return getDeclaredClassName_respostaInvalida1(declIndex);
            case 5: return getDeclaredClassName_opcoesInvalidas1(declIndex);
            case 6: return getDeclaredClassName_opcoesInvalidas2(declIndex);
            case 7: return getDeclaredClassName_opcoesInvalidas3(declIndex);
            case 8: return getDeclaredClassName_opcoesInvalidas3_1(declIndex);
            case 9: return getDeclaredClassName_opcoesInvalidas3_5(declIndex);
            case 10: return getDeclaredClassName_opcoesInvalidas4(declIndex);
            case 11: return getDeclaredClassName_opcoesInvalidas5(declIndex);
            default: return null;
        }
    }

    /**
     * Returns the class of an object declared in a rule.
     *
     * @param ruleIndex the index of the rule
     * @param declIndex the index of the declaration
     * @return the class of the declared object.
     */
    public Class getDeclaredClass(int ruleIndex, int declIndex) {
        switch (ruleIndex) {
            case 0: return getDeclaredClass_verificaPreenchimento(declIndex);
            case 1: return getDeclaredClass_verificaPreenchimento2(declIndex);
            case 2: return getDeclaredClass_verificaPreenchimento3(declIndex);
            case 3: return getDeclaredClass_respostaValida(declIndex);
            case 4: return getDeclaredClass_respostaInvalida1(declIndex);
            case 5: return getDeclaredClass_opcoesInvalidas1(declIndex);
            case 6: return getDeclaredClass_opcoesInvalidas2(declIndex);
            case 7: return getDeclaredClass_opcoesInvalidas3(declIndex);
            case 8: return getDeclaredClass_opcoesInvalidas3_1(declIndex);
            case 9: return getDeclaredClass_opcoesInvalidas3_5(declIndex);
            case 10: return getDeclaredClass_opcoesInvalidas4(declIndex);
            case 11: return getDeclaredClass_opcoesInvalidas5(declIndex);
            default: return null;
        }
    }

    /**
     * Fires one of the rules in this rule base.
     *
     * @param ruleIndex the index of the rule to be fired
     */
    protected void internalFireRule(int ruleIndex) {
        switch (ruleIndex) {
            case 0: verificaPreenchimento(); break;
            case 1: verificaPreenchimento2(); break;
            case 2: verificaPreenchimento3(); break;
            case 3: respostaValida(); break;
            case 4: respostaInvalida1(); break;
            case 5: opcoesInvalidas1(); break;
            case 6: opcoesInvalidas2(); break;
            case 7: opcoesInvalidas3(); break;
            case 8: opcoesInvalidas3_1(); break;
            case 9: opcoesInvalidas3_5(); break;
            case 10: opcoesInvalidas4(); break;
            case 11: opcoesInvalidas5(); break;
        }
    }

    /**
     * Returns the number of rules.
     *
     * @return the number of rules.
     */
    public int getNumberOfRules() {
        return 12;
    }

    /**
     * Returns the identifiers declared in a given rule.
     *
     * @param ruleIndex the index of the rule.
     * @return an array with the identifiers of the rule declarations.
     */
    public String[] getDeclaredIdentifiers(int ruleIndex) {
        switch (ruleIndex) {
            case 0: return getDeclaredIdentifiers_verificaPreenchimento();
            case 1: return getDeclaredIdentifiers_verificaPreenchimento2();
            case 2: return getDeclaredIdentifiers_verificaPreenchimento3();
            case 3: return getDeclaredIdentifiers_respostaValida();
            case 4: return getDeclaredIdentifiers_respostaInvalida1();
            case 5: return getDeclaredIdentifiers_opcoesInvalidas1();
            case 6: return getDeclaredIdentifiers_opcoesInvalidas2();
            case 7: return getDeclaredIdentifiers_opcoesInvalidas3();
            case 8: return getDeclaredIdentifiers_opcoesInvalidas3_1();
            case 9: return getDeclaredIdentifiers_opcoesInvalidas3_5();
            case 10: return getDeclaredIdentifiers_opcoesInvalidas4();
            case 11: return getDeclaredIdentifiers_opcoesInvalidas5();
            default: return new String[0];
        }
    }

    /**
     * Sets an object that represents a declaration of some rule.
     *
     * @param ruleIndex the index of the rule
     * @param declIndex the index of the declaration in the rule.
     * @param value the value of the object being set.
     */
    public void setObject(int ruleIndex, int declIndex, Object value) {
        switch (ruleIndex) {
            case 0: setObject_verificaPreenchimento(declIndex, value); break;
            case 1: setObject_verificaPreenchimento2(declIndex, value); break;
            case 2: setObject_verificaPreenchimento3(declIndex, value); break;
            case 3: setObject_respostaValida(declIndex, value); break;
            case 4: setObject_respostaInvalida1(declIndex, value); break;
            case 5: setObject_opcoesInvalidas1(declIndex, value); break;
            case 6: setObject_opcoesInvalidas2(declIndex, value); break;
            case 7: setObject_opcoesInvalidas3(declIndex, value); break;
            case 8: setObject_opcoesInvalidas3_1(declIndex, value); break;
            case 9: setObject_opcoesInvalidas3_5(declIndex, value); break;
            case 10: setObject_opcoesInvalidas4(declIndex, value); break;
            case 11: setObject_opcoesInvalidas5(declIndex, value); break;
        }
    }

    /**
     * Returns an object that represents a declaration of some rule.
     *
     * @param ruleIndex the index of the rule
     * @param declIndex the index of the declaration in the rule.
     * @return the value of the corresponding object.
     */
    public Object getObject(int ruleIndex, int declIndex) {
        switch (ruleIndex) {
            case 0: return getObject_verificaPreenchimento(declIndex);
            case 1: return getObject_verificaPreenchimento2(declIndex);
            case 2: return getObject_verificaPreenchimento3(declIndex);
            case 3: return getObject_respostaValida(declIndex);
            case 4: return getObject_respostaInvalida1(declIndex);
            case 5: return getObject_opcoesInvalidas1(declIndex);
            case 6: return getObject_opcoesInvalidas2(declIndex);
            case 7: return getObject_opcoesInvalidas3(declIndex);
            case 8: return getObject_opcoesInvalidas3_1(declIndex);
            case 9: return getObject_opcoesInvalidas3_5(declIndex);
            case 10: return getObject_opcoesInvalidas4(declIndex);
            case 11: return getObject_opcoesInvalidas5(declIndex);
            default: return null;
        }
    }

    /**
     * Returns all variables bound to the declarations of
     * some rule.
     *
     * @param ruleIndex the index of the rule
     * @return an object array of the variables bound to the
     *          declarations of some rule.
     */
    public Object[] getObjects(int ruleIndex) {
        switch (ruleIndex) {
            case 0: return getObjects_verificaPreenchimento();
            case 1: return getObjects_verificaPreenchimento2();
            case 2: return getObjects_verificaPreenchimento3();
            case 3: return getObjects_respostaValida();
            case 4: return getObjects_respostaInvalida1();
            case 5: return getObjects_opcoesInvalidas1();
            case 6: return getObjects_opcoesInvalidas2();
            case 7: return getObjects_opcoesInvalidas3();
            case 8: return getObjects_opcoesInvalidas3_1();
            case 9: return getObjects_opcoesInvalidas3_5();
            case 10: return getObjects_opcoesInvalidas4();
            case 11: return getObjects_opcoesInvalidas5();
            default: return null;
        }
    }
    /**
     * Defines all variables bound to the declarations of
     * some rule.
     *
     * @param ruleIndex the index of the rule
     * @param objects an object array of the variables bound to the
     *          declarations of some rule.
     */
    public void setObjects(int ruleIndex, Object[] objects) {
        switch (ruleIndex) {
            case 0: setObjects_verificaPreenchimento(objects); break;
            case 1: setObjects_verificaPreenchimento2(objects); break;
            case 2: setObjects_verificaPreenchimento3(objects); break;
            case 3: setObjects_respostaValida(objects); break;
            case 4: setObjects_respostaInvalida1(objects); break;
            case 5: setObjects_opcoesInvalidas1(objects); break;
            case 6: setObjects_opcoesInvalidas2(objects); break;
            case 7: setObjects_opcoesInvalidas3(objects); break;
            case 8: setObjects_opcoesInvalidas3_1(objects); break;
            case 9: setObjects_opcoesInvalidas3_5(objects); break;
            case 10: setObjects_opcoesInvalidas4(objects); break;
            case 11: setObjects_opcoesInvalidas5(objects); break;
        }
    }

    /*
     * The variables declared in the rules.
     */
    private agentes.PrincipioFundamentalContagemDicas agentes_PrincipioFundamentalContagemDicas_1;

    /**
     * Class constructor.
     *
     * @param knowledgeBase the knowledge base that contains this rule base.
     */
    public Jeops_RuleBase_PrincipioFundamentalContagemDicasRegras(jeops.AbstractKnowledgeBase knowledgeBase) {
        super(knowledgeBase);
    }

}
/**
 * Knowledge base created by JEOPS from file PrincipioFundamentalContagemDicasRegras.rules
 *
 * @version Dec 1, 2013
 */
public class PrincipioFundamentalContagemDicasRegras extends jeops.AbstractKnowledgeBase {

    /**
     * Creates a new knowledge base with the specified conflict set with the
     * desired conflict resolution policy.
     *
     * @param conflictSet a conflict set with the desired resolution policy
     */
    public PrincipioFundamentalContagemDicasRegras(jeops.conflict.ConflictSet conflictSet) {
        super(conflictSet);
    }

    /**
     * Creates a new knowledge base, using the default conflict resolution
     * policy.
     */
    public PrincipioFundamentalContagemDicasRegras() {
        this(new jeops.conflict.DefaultConflictSet());
    }

    /**
     * Factory method used to instantiate the rule base.
     */
    protected jeops.AbstractRuleBase createRuleBase() {
        return new Jeops_RuleBase_PrincipioFundamentalContagemDicasRegras(this);
    }

}
